package com.it.schoolhomeos.dto;

import lombok.Data;

/**
 * 用户数据传输对象
 * 
 * 用于在不同层之间传递用户信息，不包含敏感信息如密码
 */
@Data
public class UserDTO {
    /**
     * 用户ID
     */
    private Long id;
    
    /**
     * 用户名
     */
    private String username;
    
    /**
     * 用户真实姓名
     */
    private String name;
    
    /**
     * 联系电话
     */
    private String phone;
    
    /**
     * 电子邮箱
     */
    private String email;
    
    /**
     * 用户角色
     */
    private String role;
    
    /**
     * 用户头像URL
     */
    private String avatar;
    
    /**
     * 是否启用
     */
    private Boolean enabled;
    
    /**
     * 创建时间
     */
    private java.time.LocalDateTime createTime;
    
    /**
     * 更新时间
     */
    private java.time.LocalDateTime updateTime;
    
    /**
     * 设置用户ID
     * 
     * @param id 用户ID
     */
    public void setId(Long id) {
        this.id = id;
    }
    
    /**
     * 设置用户名
     * 
     * @param username 用户名
     */
    public void setUsername(String username) {
        this.username = username;
    }
    
    /**
     * 设置用户真实姓名
     * 
     * @param name 用户真实姓名
     */
    public void setName(String name) {
        this.name = name;
    }
    
    /**
     * 设置联系电话
     * 
     * @param phone 联系电话
     */
    public void setPhone(String phone) {
        this.phone = phone;
    }
    
    /**
     * 设置电子邮箱
     * 
     * @param email 电子邮箱
     */
    public void setEmail(String email) {
        this.email = email;
    }
    
    /**
     * 设置用户角色
     * 
     * @param role 用户角色
     */
    public void setRole(String role) {
        this.role = role;
    }
    
    /**
     * 设置用户头像URL
     * 
     * @param avatar 用户头像URL
     */
    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }
    
    /**
     * 设置是否启用
     * 
     * @param enabled 是否启用
     */
    public void setEnabled(Boolean enabled) {
        this.enabled = enabled;
    }
    
    /**
     * 设置创建时间
     * 
     * @param createTime 创建时间
     */
    public void setCreateTime(java.time.LocalDateTime createTime) {
        this.createTime = createTime;
    }
    
    /**
     * 设置更新时间
     * 
     * @param updateTime 更新时间
     */
    public void setUpdateTime(java.time.LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }
} 